Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- private variable



  Top Ten Tips for Correct C++ Coding

Brian Overland, long-time Microsoft veteran and author of C++ Without Fear: A Beginner's Guide That Makes You Feel Smart, 2nd Edition, shares 10 of his most hard-earned, time-saving insights from decades of writing and debugging C++ code.My first introduction to the C family of languages was decades ago (yes, I know this dates me horribly). Later I learned C++. I wish someone back then had steered me around the most obvious potholes; it might have saved me hundreds of frustrating hours.I ca...

   C++,Tips,Top,Ten,Magic number,Integer di     2011-09-03 10:58:35

  Open Source (Almost) Everything

When Chris and I first started working on GitHub in late 2007, we split the work into two parts. Chris worked on the Rails app and I worked on Grit, the first ever Git bindings for Ruby. After six months of development, Grit had become complete enough to power GitHub during our public launch of the site and we were faced with an interesting question:Should we open source Grit or keep it proprietary?Keeping it private would provide a higher hurdle for competing Ruby-based Git hosting sites, givin...

   Open source,Benefits,Popularity,Advertisement,Advantage     2011-11-23 07:58:15

  Access control in Java -- doPrivileged

Previously we have introduced how Java performs permission check to protect resource access. What if sometimes we need to give some class the temporary access to some resource which it initially doesn't have? AccessController provides six doPrivileged methods to fulfill this requirement. These six methods have below signatures : static T doPrivileged(PrivilegedAction action)static T doPrivileged(PrivilegedAction action, AccessControlContext context)static T doPrivileged(PrivilegedExceptionA...

   JAVA,SECURITY,DOPRIVILEGED     2016-03-08 05:46:42

  Different types of keystore in Java -- PKCS11

PKCS11 keystore is designed for hardware storage modules(HSM). It's an interface to talk to the HSMs. It doesn't actually store any keys but provide a set of classes to communicate with the underlying HSM. The actual keys and certificates are stored on the HSMs. The reason for storing the keys and materials is to ensure security and efficiency. Since the keys are on the HSMs, they are safe to be stolen. All encryption/decryption operations are performed on the HSMs as well, this incre...

   PKCS11,keystore,HSM,Java     2015-01-08 00:39:12

  Disgusting programming language list

To avoid arguments among different programming languages, this ranking only covers the opinions from programmers with multi-language experience. Also it doesn't mean the language is not good if the language is on the list, it just means those developers don't like some features of the language. Below ranking is summarized from Quora、Stack Overflow and Hacker News. 10. Python Reason : It uses code indent to define block level scope, why not use curly braces? It also uses massive colons and ...

   Programming language rank     2013-09-27 09:53:39

  Currying in Python

What is Currying? Currying is like a kind of incremental binding of function arguments. Let’s define a simple function which takes 5 arguments: 1def f(a, b, c, d, e):2    print(a, b, c, d, e) In a language where currying is supported, f is a function which takes one argument (a) and returns a function which takes 4 arguments. This means that f(5) is the following function: 1def g(b, c, d, e):2    f(5, b, c, d, e) We could emulate this behavior the...

   Python,Curring,Binding,Implement     2012-03-19 12:59:10

  Binary tree iterator algorithm

Binary tree pre-order,in-order and post-order traversal are basics in algorithm and data structure.And the recursive binary tree traversal is a classical application of recursion. We define a binary tree node as : // C++ struct Node { int value; Node *left; Node *right; } In order binary tree traversal can be: // C++ void inorder_traverse(Node *node) { if (NULL != node->left) { inorder_traverse(node->left); } do_something(node); if (NULL != node->righ...

   Binary tree,Iterator,Traversal     2013-07-14 21:51:09

  Simple but Interesting Features of VS2010 and C# 4.0

IntroductionVS 2010 and C# 4.0 introduced so many new features. Here in this article, I try to cover some very simple, yet very useful features of both.1. Hiding the Selected Part of CodeMany a times, a situation arises when we want to hide a specified piece of code rather that hiding the entire region. This has become easier in VS 2010. Just select the part of the code that you want to hide and right click selectOutlining -> Hide Selection.Same way like a region code also gets collapsible an...

   VS2010,C#4.0,New feature,Walk through     2011-11-18 08:59:29

  Beauty of code : How to write graceful PHP code

Writing good code is an art. In order to achieve this, it is necessary to develop good programming habits at the beginning. Good programming habits not only contributes to the early project design (modular),but also allows you to the code easier to understand, so that the maintenance of the code is easier. Bad programming habits will result in more code bugs, and will make future maintenance work difficult. We introduce some good programming habits taking PHP as example. Hope this will help you....

   PHP,Good code     2012-08-26 12:23:03

  Address of a Java Object

In conventional java programming, you will never need address or location of a java object from memory. When you discuss about this in forums, the first question raised is why do you need to know the address of a java object? Its a valid question. But always, we reserve the right to experiment. Nothing is wrong in exploring uncharted areas.I thought of experimenting using a little known class from sun package. Unsafe is a class that belongs to sun.misc package. For some of you the package might ...

   Java,Object,Address,Memory,Start address     2011-09-29 11:17:46